The introduction of storage devices having enhanced features and capabilities present a storage device implemented to initiate communication with a host computer or with a remote server autonomously, without the host computer intervening to report to the storage device about its activity. As a result, a storage device activity may be performed independently from the host computer. Such enhanced features may influence the network, restrict the network bandwidth, and deteriorate the user experience.
Since a host computer (or a remote server) has no control over a storage device autonomous activity, the host computer has no means to monitor the storage device's activity. Thus, optimizing the usage of system resources is needed in order to reduce the load.
With current systems, monitoring the load of the system's resources is typically done by an application on the host. In such cases, the host monitors its processor activity in order to gather intelligence about the current or expected state of the network (for simplicity, a processor of any type may be referred to generically as a “CPU”). The host may further use the intelligence to control its network communications and manage the network system load. In other words, controlling the host network communications and other host activity is the exclusive responsibility of and is exclusively handled by the host.
However, the above approach is not practical in systems where a device, such as a storage device, utilizes the host resources autonomously for initiating communication with the host and/or a remote server.